ThinkPHP5 |
您所在的位置:网站首页 › thinkphp5 教程 › ThinkPHP5 |
一、ThinkPHP简介 i. ThinkPHP是一个免费开源 快速简单 面向对象 轻量级的PHP开发框架 ii. 创立于2006年初 遵循Apache2开源协议发布 iii. 秉承简洁实用的设计原则 注重易用性 iv. 支持composer(包管理工具)方式安装 类似于node.js里面的npm v. 5版本与之前版本不兼容 二、MVC简介 i. Model(模型) View(视图) Controller(控制器)的缩写 是一种业务逻辑 数据 显示页面分离的设计典范(设计模式:单例|工厂|观察者...) 业务逻辑封装之后 在改进或者个性化定制界面用户交互的同时 对编写好的业务逻辑不影响 ii. 优势 1. 耦合性低 任何一层的改变 对其他层影响不大 2. 重用性高 3. 可维护性高
iii. MVC的变形 1. 无Model模式 a) 企业官网 静态数据展示 基本上不涉及数据库操作 展示静态页面 Controller主要是路由跳转 View主要展示页面 2. 无View的API接口开发 a) 给app写接口的时候 不需要展示界面 所有数据都通过json|xml返回
三、ThinkPHP5的安装 i. Git方式安装 1. https://github.com/top-think 2. 需要clone两个包
a) 进入think 选择open in Desktop(选择clone或者open in Desktop 本地都需要安装git环境 最简单的下载git桌面版 详情参考版本工具GIT篇) 如果是用命令行 可以加上git clone --depth=1 ... 只克隆最新一次commit
b) 选择本地项目目录
c) 然后clone framework 核心包
d) 在上一步的目录下新建thinkphp目录 clone
浏览器访问 进入到public目录 出现下面界面说明安装成功
同理 选择DownloadZip 然后解压缩 也可以 分别下载两个包 然后将framework包重命名thinkphp 移动到think目录下即可 ii. Composer方式安装 1. 本地先安装composer环境 a) 进入官网 https://www.phpcomposer.com/ ->下载
b) 双击 安装 (过程中需要绑定php.exe)
c) windows+R cmd 打开命令行 composer验证是否安装成功
d) 通过composer安装ThinkPHP i. 命令行进入项目目录
ii. Composer create-project --prefer-dist topthink/think think_composer进入到项目目录 命令行安装 composer create-project --prefer-dist topthink/think=5.0.20 think_composer 可以指定下载版本
安装过程中 需要联网...... 网速不稳定的话 可能会导致安装不成功 也可以在composer官网 安装包列表 选择下载tp版本 上面的命令也可以指定版本 iii. localhost测试
iii. Download官网安装 1. 进入http://www.thinkphp.cn/ 官网
2. 需要先登录 然后选择版本下载
四、设置网站根目录为 public目录 (选) i. Apache配置文件 httpd-vhosts.conf ii. 此文件下可以配置虚拟主机 如a.com 便于本地测试 1. 需要在httpd.conf文件中打开扩展 2. 需要在System32/drivers/etc/hosts文件中配置 127.0.0.1 a.com 配置 3. 重启服务器生效
五、ThinkPHP5的目录结构 i. Application 应用目录
ii. Extend 扩展类库目录 1. 下载第三方库的时候使用的 不是通过composer下载的 a) 如 有一个好用的第三方库 但是没有composer包 这种情况下可以将类库下载到extend目录 之后修改命名空间 就直接可以在应用中使用了 iii. Public根目录
iv. Runtime 网站运行中的缓存文件 日志缓存 编译文件等等 v. Thinkphp框架系统目录
vi. Vendor 通过composer安装 过程中生成的目录 1. 里面有thinkphp主程序文件 各种类库文件 六、 目录和文件开发规范 i. 目录使用小写+下划线的方式命名(不允许大写) ii. 类库函数文件名 均以.php结尾 (5版本以前是.class.php 5版本之后.php) iii. 类的文件名均以命名空间定义 且命名空间和类库文件所在路径一致 1. 如 application/index/controller/Index.php namespace app\index\controller (app定义顶级应用模块目录)
iv. 类文件采用驼峰 首字母大写 其余文件为小写+下划线命名 1. 如 控制器 Index.php 2. 路由文件 route.php 数据库配置文件 database.php
v. 类名和类文件名保持一致 驼峰命名 首字母大写 不需要后缀 1. 如 Index.php (5版本前是 IndexController.php 5版本之后是 Index.php)
vi. 函数驼峰命名 首字母小写 1. 如 public function getUserName(){}
vii. 属性名驼峰 首字母小写 1. 如 public $tableName = ‘’ ;
viii. 以双下划线(__)开头的函数或者方法为魔术方法 1. 如 public function __construct(){} 2. 自定义函数的时候 函数名注意避免
ix. 常量和配置 1. 常量以大写字母和下划线命名 a) 如define(‘APP_PATH’ , __DIR__ . ’/../application/’) ;尽量不要下划线开头 2. 配置参数以小写字母和下划线命名 a) 如 config.php
x. 其他规范 1. 表和字段采用小写+下划线的命名方式 不能下划线开头 a) 如 tb_user 表 2. 应用类库的命名空间统一为app(可以配置) a) 一般情况下不要更改 app为默认顶级应用
七、ThinkPHP5模块设计 i. 概要: 5.0版本对模块的功能做了灵活设计 默认采用多模块的架构 并且支持单一模块设计 所有模块的命名空间均以app作为根命名空间(可配置)
根据项目需求
FAQ: 一、启动本地环境 查看端口占用 1.找到被占端口pid netstat -aon|findstr "3306"
2.根据pid 查看进程 tasklist|findstr "1880"
3.结束进程 taskkill /f /t /im mysqld.exe
二、自定义common模块报错:
报错信息:
分析: 这是thinkphp的规定 默认common是公用模块 存放 通用方法 不允许在URL上直接访问 解决:
将重复性的代码 权限 数据处理放在common模块 简化程序
三、修改application目录 i. 将application目录重命名 app ii. 修改public/index.php define(‘APP_PATH’ , __DIR__ . ‘/../app/’);
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |